Network traffic is transmitted from a network, such as the Internet, to a specific receiving system (e.g., a computer system, client, etc.). Typically, network traffic is transmitted in the form of packets, where each packet includes a header and a payload. The header contains information regarding the source address, destination address, size, transport protocol used to transmit the packet, and various other identification information associated with the packet of data. The payload contains the actual data to be transmitted from the network to the receiving system.
Additionally, network traffic is transmitted through several layers of the communication protocol. One such layer is the data link layer. The data link layer is the layer responsible for organizing the raw data into a logical structure of frames (i.e., addressable units of information) via network interface cards that are fed by switches and bridges. Bridges extend the network and are capable of translating protocols between two mixed protocol networks. Switches include application-specific integrated circuits (ASICs) to route data to individual workstations. In large network systems, switches can be configured to join groups of ports on a local area network (LAN) switch to form a virtual local area network (VLAN). A VLAN effectively partitions a physical LAN into several LANs.
The data link layer typically includes the media access control (MAC). The MAC provides the physical address that is hard-coded into each network interface card (NIC). Typically, when packets are received by the MAC, the MAC examines each packet header and extracts the necessary destination information in order to determine the one or more applications, hosts, clients, processes, etc. that should receive a copy of the packet. Typically, the MAC performs some function (e.g., a hash function) to determine the mapping from the destination information to the actual destination application, host, client, process, etc. This process is repeated for each packet that is received by the MAC, regardless of whether the packets are received in a chain or going to the same destination.